예제코드
4_3_Switch_led
에서 다음과 같은 컴파일 에러가 발생합니다.
int led = 3; // LED를 3번핀으로 선언합니다.
int sw = 5; // 스위치를 5번핀으로 선언합니다.
void setup() {
pinMode(led, OUTPUT);//LED 핀을 OUTPUT으로 설정합니다.
pinMode(sw, INPUT_PULLUP);//스위치가 연결된 핀의 모드를 INPUT_PULLUP 상태로 설정합니다.
}
void loop() {
if (digitalRead(sw) = LOW) { // 스위치가 연결된 핀의 로직레벨이 LOW라면, LED가 켜지도록 합니다.
digitalWrite(led, HIGH); // 3번 핀으로 HIGH(5V)출력
}
else {
digitalWrite(led, LOW);
}
}
컴파일 에러 내용
C:\Arduino\4_3_Switch_led\4_3_Switch_led.ino: In function 'void loop()':
C:\ArduinoData\packages\arduino\hardware\avr\1.8.4\cores\arduino/Arduino.h:41:14: error: lvalue required as left operand of assignment
#define LOW 0x0
^
C:\Users\Teacher\Documents\Arduino\4_3_Switch_led\4_3_Switch_led.ino:11:25: note: in expansion of macro 'LOW'
if (digitalRead(sw) = LOW) { // 스위치가 연결된 핀의 로직레벨이 LOW라면, LED가 켜지도록 합니다.
^~~
exit status 1
보드 Arduino Uno 컴파일 에러.
어떻게 하면 해결되나요?
if (digitalRead(sw) = LOW) { // 스위치가 연결된 핀의 로직레벨이 LOW라면, LED가 켜지도록 합니다.
해당 줄에서 대입연산자 '='가 아닌 비교 연산자 '=='가 들어가야 해요
=를 ==로 수정해주세요